package hyy_2022;

import java.util.HashSet;
import java.util.Set;

public class _0819_Offer61_IsStraight {

    /**
     * 集合set + 遍历
     * 1、判别重复
     * 2、获取最大、最小的牌
     * @param nums
     * @return boolean
     */
    public boolean isStraight(int[] nums) {
        Set<Integer> repeat = new HashSet<>();
        int max = 0, min = 14;
        for(int num : nums) {
            if(num == 0) {
                continue;
            }
            max = Math.max(max,num);
            min = Math.min(min,num);
            if(repeat.contains(num)) {
                //有重复值,提前返回
                return false;
            }
            repeat.add(num);
        }
        //最大牌 - 最小牌 < 5 则可顺子
        return max - min < 5;
    }
}
